package main

// func main() {
// nums1 := []int{1, 3, 2, 4, 0}

// array.BubbleSort(nums1)
// for _, v := range nums1 {
// 	fmt.Println(v)
// }

// array.TwoPointTraverse(nums1)

// str := stack.RemoveOuterParentheses("()()()")
// fmt.Println(str)

// g := graph.Graph{
// 	Ves:  [10]int{1, 2, 3},
// 	Arc:  [10][10]int{{0, 0, 1}, {0, 0, 1}, {1, 1, 0}},
// 	NumV: 3,
// 	NumE: 3,
// }
// graph.DFSTraverse(g)
// graph.BFS(g, 3)
// }

// func main() {
// 	t1 := tree.TreeNode{
// 		Val: 1,
// 	}
// 	t2 := tree.TreeNode{
// 		Val: 2,
// 	}
// 	t3 := tree.TreeNode{
// 		Val: 3,
// 	}
// 	t4 := tree.TreeNode{
// 		Val: 4,
// 	}
// 	t5 := tree.TreeNode{
// 		Val: 5,
// 	}
// 	t6 := tree.TreeNode{
// 		Val: 6,
// 	}

// 	t1.Left = &t2
// 	t1.Right = &t3
// 	t2.Left = &t4
// 	t4.Left = &t5
// 	t5.Left = &t6

// 	tree.LevelOrder(&t1)
// }

// func main() {
// 	fmt.Print(leetcode.Generate(5))
// }

// func main() {
// 	g := []int{1, 3, 3, 4}
// 	fmt.Printf("sort.SearchInts(g, 1): %v\n", sort.SearchInts(g, 2))
// }

// func main() {
// 	fmt.Println(leetcode.MinCostClimbingStairs([]int{1, 2, 3}))
// }

// func main() {
// 	fmt.Printf("leetcode.ConvertToTitle(701): %v\n", leetcode.ConvertToTitle(701))
// }

// func main() {
// slice := []int{3, 2, 1, 5}
// slices.SortStableFunc(slice, func(i, j int) int {
// 	return slice[i] - slice[j]
// })
// fmt.Printf("slice: %v\n", slice)

// leetcode.Merge([]int{1, 2, 3, 0, 0, 0}, 3, []int{2, 4, 5}, 3)
// fmt.Printf("sort.SortArray([]int{4, 3, 2, 1}): %v\n", sort.SortArray([]int{4, 3, 2, 1}))

// fmt.Println((3 + 2) >> 1)

// }

// 200

// func main() {
// 	fmt.Printf("numIslands([][]byte{{1, 1, 0, 0, 0}, {1, 1, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 1, 1}}): %v\n", numIslands([][]byte{{1, 1, 0, 0, 0}, {1, 1, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 1, 1}}))
// }

func main() {

}
